package com.ym.medical.domain.entity;

import com.ym.common.constant.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 问诊订单对象 inquiry_order
 *
 * @author ym
 * @date 2020-08-24
 */
@ApiModel("问诊订单-实体")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "inquiry_order")
public class InquiryOrderEntity extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 用户ID
	 */
	@ApiModelProperty("用户ID")
	private Long userId;

	/**
	 * 定价实例ID
	 */
	@ApiModelProperty("定价实例ID")
	private Long ruleId;

	/**
	 * 问诊患者id
	 */
	@ApiModelProperty("问诊患者id")
	private Long patientId;

	/**
	 * 01找医生 02 自诊 03 快速问诊
	 */
	@ApiModelProperty("01找医生 02 自诊 03 快速问诊")
	private String orderSource;

	/**
	 * 病情描述
	 */
	@ApiModelProperty("病情描述")
	private String illnessDesc;

	/**
	 * 是否线下就诊
	 */
	@ApiModelProperty("是否线下就诊")
	private String isTreatment;

	/**
	 * 问诊人联系电话
	 */
	@ApiModelProperty("问诊人联系电话")
	private String phoneNo;

	/**
	 * 患病时长
	 */
	@ApiModelProperty("患病时长")
	private String illnessDuration;

	/**
	 * 过敏史
	 */
	@ApiModelProperty("过敏史")
	private String allergyHistory;

	/**
	 * 重大疾病,慢病例
	 */
	@ApiModelProperty("重大疾病,慢病例")
	private String majorDiseases;

	/**
	 * 订单编号
	 */
	@ApiModelProperty("订单编号")
	private String ioNum;

	/**
	 * 订单类型 01待接单 02已接单 03完成 04	取消 05待生效
	 */
	@ApiModelProperty("订单类型 01待接单 02已接单 03完成 04	取消 05待生效")
	private String ioType;

	/**
	 * 01 微信 02 支付宝 03 其它
	 */
	@ApiModelProperty("01 微信 02 支付宝 03 其它")
	private String paymentWay;

	/**
	 * 应付金额
	 */
	@ApiModelProperty("应付金额")
	private BigDecimal payableAmount;

	/**
	 * 实际支付金额
	 */
	@ApiModelProperty("实际支付金额")
	private BigDecimal paymentPrice;

	/**
	 * 01 待支付 02 已支付 03 退费申请中 04 已退费 05 订单异常 06 全科订单
	 */
	@ApiModelProperty("01 待支付 02 已支付 03 退费申请中 04 已退费 05 订单异常 06 全科订单")
	private String paymentState;

	/**
	 * 支付来源 (01-小程序 02-公众号)
	 */
	@ApiModelProperty("支付来源 (01-小程序 02-公众号)")
	private String paySource;

	/**
	 * 支付时间
	 */
	@ApiModelProperty("支付时间")
	private Date paymentTime;

	/**
	 * 预约时间的规则ID(目前仅视频问诊)
	 */
	@ApiModelProperty("预约时间的规则ID(目前仅视频问诊)")
	private Long appointTimeRule;

	/**
	 * null
	 */
	@ApiModelProperty("null")
	private Date appointTime;

	/**
	 * 01 待接单 02 已接单  03 完成 04 取消 05 待生效
	 */
	@ApiModelProperty("01 待接单 02 已接单  03 完成 04 取消 05 待生效")
	private String ioState;

	/**
	 * 优惠券主键
	 */
	@ApiModelProperty("优惠券主键")
	private Long relId;

	/**
	 * 支付备注
	 */
	@ApiModelProperty("支付备注")
	private String payRemark;

	/**
	 * 阅读数
	 */
	@ApiModelProperty("阅读数")
	private Integer readNum;

	/**
	 * 预付表主键
	 */
	@ApiModelProperty("预付表主键")
	private Long prepaymentId;

	/**
	 * 0 不公开  1 公开
	 */
	@ApiModelProperty("0 不公开  1 公开")
	private String isPublic;

	/**
	 * 结束时间
	 */
	@ApiModelProperty("结束时间")
	private Date ioEndtime;

	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	private Date createTime;

	/**
	 * 付款账户
	 */
	@ApiModelProperty("付款账户")
	private String payAcc;

}
